{% set host_index = groups['magnum'].index(inventory_hostname) % groups['rabbitmq'] | count %}
{% set rabbit_hosts = groups['rabbitmq'][host_index:] + groups['rabbitmq'][:host_index] %}
[DEFAULT]

#
# From magnum
#

# Directory where the magnum python module is installed. (string
# value)
pybasedir = /usr/lib/python2.7/dist-packages/magnum

# Directory where magnum binaries are installed. (string value)
bindir = /usr/bin

# Top-level directory for maintaining magnum's state. (string value)
state_path = /var/lib/magnum

# Path to the rootwrap configuration file to use for running commands
# as root. (string value)
#rootwrap_config = /etc/magnum/rootwrap.conf

# Explicitly specify the temporary working directory. (string value)
#tempdir = <None>

# Symbols to use for passwords (list value)
#password_symbols = 23456789,ABCDEFGHJKLMNPQRSTUVWXYZ,abcdefghijkmnopqrstuvwxyz

# Enable periodic tasks. (boolean value)
#periodic_enable = true

# Max interval size between periodic tasks execution in seconds.
# (integer value)
#periodic_interval_max = 60

# Name of this node. This can be an opaque identifier. It is not
# necessarily a hostname, FQDN, or IP address. However, the node name
# must be valid within an AMQP key, and if using ZeroMQ, a valid
# hostname, FQDN, or IP address. (string value)
#host = lgw01-55.buildd

#
# From oslo.log
#

# If set to true, the logging level will be set to DEBUG instead of
# the default INFO level. (boolean value)
#debug = false
debug = {{ magnum_debug }}

# If set to false, the logging level will be set to WARNING instead of
# the default INFO level. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#verbose = true

# The name of a logging configuration file. This file is appended to
# any existing logging configuration files. For details about logging
# configuration files, see the Python logging module documentation.
# Note that when logging configuration files are used then all logging
# configuration is set in the configuration file and other logging
# configuration options are ignored (for example,
# logging_context_format_string). (string value)
# Deprecated group/name - [DEFAULT]/log_config
#log_config_append = <None>

# Defines the format string for %%(asctime)s in log records. Default:
# %(default)s . This option is ignored if log_config_append is set.
# (string value)
#log_date_format = %Y-%m-%d %H:%M:%S

# (Optional) Name of log file to send logging output to. If no default
# is set, logging will go to stderr as defined by use_stderr. This
# option is ignored if log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logfile
#log_file = <None>

# (Optional) The base directory used for relative log_file  paths.
# This option is ignored if log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logdir
#log_dir = <None>

# Uses logging handler designed to watch file system. When log file is
# moved or removed this handler will open a new log file with
# specified path instantaneously. It makes sense only if log_file
# option is specified and Linux platform is used. This option is
# ignored if log_config_append is set. (boolean value)
#watch_log_file = false

# Use syslog for logging. Existing syslog format is DEPRECATED and
# will be changed later to honor RFC5424. This option is ignored if
# log_config_append is set. (boolean value)
#use_syslog = false
use_syslog = {{ magnum_syslog_use }}

# Syslog facility to receive log lines. This option is ignored if
# log_config_append is set. (string value)
#syslog_log_facility = LOG_USER

# Log output to standard error. This option is ignored if
# log_config_append is set. (boolean value)
#use_stderr = true
use_stderr = false

# Format string to use for log messages with context. (string value)
#logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s

# Format string to use for log messages when context is undefined.
# (string value)
#logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s

# Additional data to append to log message when logging level for the
# message is DEBUG. (string value)
#logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d

# Prefix each line of exception output with this format. (string
# value)
#logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s

# Defines the format string for %(user_identity)s that is used in
# logging_context_format_string. (string value)
#logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s

# List of package logging levels in logger=LEVEL pairs. This option is
# ignored if log_config_append is set. (list value)
#default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO

# Enables or disables publication of error events. (boolean value)
#publish_errors = false

# The format for an instance that is passed with the log message.
# (string value)
#instance_format = "[instance: %(uuid)s] "

# The format for an instance UUID that is passed with the log message.
# (string value)
#instance_uuid_format = "[instance: %(uuid)s] "

# Enables or disables fatal status of deprecations. (boolean value)
#fatal_deprecations = false

transport_url = rabbit://{% for host in rabbit_hosts %}{{ magnum_rabbit_user }}:{{ magnum_rabbit_password }}@{{ hostvars[host].ip.mgmt }}:5672{% if not loop.last %},{% endif %}{% endfor %}/{{ magnum_rabbit_vhost }}


#
# From oslo.service.periodic_task
#

# Some periodic tasks can be run in a separate process. Should we run
# them here? (boolean value)
#run_external_periodic_tasks = true

#
# From oslo.service.service
#

# Enable eventlet backdoor.  Acceptable values are 0, <port>, and
# <start>:<end>, where 0 results in listening on a random tcp port
# number; <port> results in listening on the specified port number
# (and not enabling backdoor if that port is in use); and
# <start>:<end> results in listening on the smallest unused port
# number within the specified range of port numbers.  The chosen port
# is displayed in the service's log file. (string value)
#backdoor_port = <None>

# Enable eventlet backdoor, using the provided path as a unix socket
# that can receive connections. This option is mutually exclusive with
# 'backdoor_port' in that only one should be provided. If both are
# provided then the existence of this option overrides the usage of
# that option. (string value)
#backdoor_socket = <None>

# Enables or disables logging values of all registered options when
# starting a service (at DEBUG level). (boolean value)
#log_options = true

# Specify a timeout after which a gracefully shutdown server will
# exit. Zero value means endless wait. (integer value)
#graceful_shutdown_timeout = 60


[api]

#
# From magnum
#

# The port for the Magnum API server. (port value)
# Minimum value: 0
# Maximum value: 65535
#port = 9511

# The listen IP for the Magnum API server. (IP address value)
#host = 0.0.0.0
host = 127.0.0.1

# The maximum number of items returned in a single response from a
# collection resource. (integer value)
#max_limit = 1000

# Configuration file for WSGI definition of API. (string value)
#api_paste_config = api-paste.ini


[barbican_client]

#
# From magnum
#

# Region in Identity service catalog to use for communication with the
# OpenStack service. (string value)
#region_name = <None>
region_name = {{ keystone_region_name }}

# Type of endpoint in Identity service catalog to use for
# communication with the OpenStack service. (string value)
#endpoint_type = publicURL
endpoint_type = internalURL


[bay]

#
# From magnum
#

# Location of template to build a k8s cluster on atomic. (string
# value)
# Deprecated group/name - [bay_heat]/template_path
#k8s_atomic_template_path = $pybasedir/templates/kubernetes/kubecluster.yaml

# Location of template to build a k8s cluster on CoreOS. (string
# value)
#k8s_coreos_template_path = $pybasedir/templates/kubernetes/kubecluster-coreos.yaml

# Url for etcd public discovery endpoint. (string value)
#etcd_discovery_service_endpoint_format = https://discovery.etcd.io/new?size=%(size)d

# Location of template to build a swarm cluster on atomic. (string
# value)
#swarm_atomic_template_path = $pybasedir/templates/swarm/swarmcluster.yaml

# Location of template to build a Mesos cluster on Ubuntu. (string
# value)
#mesos_ubuntu_template_path = $pybasedir/templates/mesos/mesoscluster.yaml

# Enabled bay definition entry points. (list value)
#enabled_definitions = magnum_vm_atomic_k8s,magnum_vm_coreos_k8s,magnum_vm_atomic_swarm,magnum_vm_ubuntu_mesos


[bay_heat]

#
# From magnum
#

# Number of attempts to query the Heat stack for finding out the
# status of the created stack and getting template outputs.  This
# value is ignored during bay creation if timeout is set as the poll
# will continue until bay creation either ends or times out. (integer
# value)
#max_attempts = 2000

# Sleep time interval between two attempts of querying the Heat stack.
# This interval is in seconds. (integer value)
#wait_interval = 1

# The length of time to let bay creation continue.  This interval is
# in minutes.  The default is no timeout. (integer value)
#bay_create_timeout = <None>


[baymodel]

#
# From magnum
#

# Allowed network drivers for kubernetes baymodels. Use 'all' keyword
# to allow all drivers supported for kubernetes baymodels. Supported
# network drivers include flannel. (list value)
#kubernetes_allowed_network_drivers = all

# Default network driver for kubernetes baymodels. (string value)
#kubernetes_default_network_driver = flannel

# Allowed network drivers for docker swarm baymodels. Use 'all'
# keyword to allow all drivers supported for swarm baymodels.
# Supported network drivers include docker and flannel. (list value)
#swarm_allowed_network_drivers = all

# Default network driver for docker swarm baymodels. (string value)
#swarm_default_network_driver = docker

# Allowed network drivers for mesos baymodels. Use 'all' keyword to
# allow all drivers supported for mesos baymodels. Supported network
# drivers include docker. (list value)
#mesos_allowed_network_drivers = all

# Default network driver for mesos baymodels. (string value)
#mesos_default_network_driver = docker


[certificates]

#
# From magnum
#

# Certificate Manager plugin. Defaults to barbican. (string value)
#cert_manager_type = barbican
{% if groups['barbican'] | count > 0 %}
cert_manager_type = barbican
{% else %}
cert_manager_type = local
{% endif %}

# Absolute path of the certificate storage directory. Defaults to
# /var/lib/magnum/certificates/. (string value)
#storage_path = /var/lib/magnum/certificates/


[cinder_client]

#
# From magnum
#

# Region in Identity service catalog to use for communication with the
# OpenStack service. (string value)
#region_name = <None>
region_name = {{ keystone_region_name }}


[conductor]

#
# From magnum
#

# The queue to add conductor tasks to. (string value)
#topic = magnum-conductor

# RPC timeout for the conductor liveness check that is used for bay
# locking. (integer value)
#conductor_life_check_timeout = 4


[cors]

#
# From oslo.middleware.cors
#

# Indicate whether this resource may be shared with the domain
# received in the requests "origin" header. (list value)
#allowed_origin = <None>

# Indicate that the actual request can include user credentials
# (boolean value)
#allow_credentials = true

# Indicate which headers are safe to expose to the API. Defaults to
# HTTP Simple Headers. (list value)
#expose_headers = X-Auth-Token,X-Subject-Token,X-Service-Token,X-OpenStack-Request-ID,X-Server-Management-Url

# Maximum cache age of CORS preflight requests. (integer value)
#max_age = 3600

# Indicate which methods can be used during the actual request. (list
# value)
#allow_methods = GET,PUT,POST,DELETE,PATCH

# Indicate which header field names may be used during the actual
# request. (list value)
#allow_headers = X-Auth-Token,X-Identity-Status,X-Roles,X-Service-Catalog,X-User-Id,X-Tenant-Id,X-OpenStack-Request-ID,X-Server-Management-Url


[cors.subdomain]

#
# From oslo.middleware.cors
#

# Indicate whether this resource may be shared with the domain
# received in the requests "origin" header. (list value)
#allowed_origin = <None>

# Indicate that the actual request can include user credentials
# (boolean value)
#allow_credentials = true

# Indicate which headers are safe to expose to the API. Defaults to
# HTTP Simple Headers. (list value)
#expose_headers = X-Auth-Token,X-Subject-Token,X-Service-Token,X-OpenStack-Request-ID,X-Server-Management-Url

# Maximum cache age of CORS preflight requests. (integer value)
#max_age = 3600

# Indicate which methods can be used during the actual request. (list
# value)
#allow_methods = GET,PUT,POST,DELETE,PATCH

# Indicate which header field names may be used during the actual
# request. (list value)
#allow_headers = X-Auth-Token,X-Identity-Status,X-Roles,X-Service-Catalog,X-User-Id,X-Tenant-Id,X-OpenStack-Request-ID,X-Server-Management-Url


[database]

#
# From magnum
#

# MySQL engine to use. (string value)
#mysql_engine = InnoDB

#
# From oslo.db
#

# The file name to use with SQLite. (string value)
# Deprecated group/name - [DEFAULT]/sqlite_db
#sqlite_db = oslo.sqlite

# If True, SQLite uses synchronous mode. (boolean value)
# Deprecated group/name - [DEFAULT]/sqlite_synchronous
#sqlite_synchronous = true

# The back end to use for the database. (string value)
# Deprecated group/name - [DEFAULT]/db_backend
#backend = sqlalchemy

# The SQLAlchemy connection string to use to connect to the database.
# (string value)
# Deprecated group/name - [DEFAULT]/sql_connection
# Deprecated group/name - [DATABASE]/sql_connection
# Deprecated group/name - [sql]/connection
#connection = <None>
connection = mysql+pymysql://{{ magnum_db_user }}:{{ magnum_db_password }}@{{ magnum_mysql_server }}/{{ magnum_db }}?charset=utf8

# The SQLAlchemy connection string to use to connect to the slave
# database. (string value)
#slave_connection = <None>

# The SQL mode to be used for MySQL sessions. This option, including
# the default, overrides any server-set SQL mode. To use whatever SQL
# mode is set by the server configuration, set this to no value.
# Example: mysql_sql_mode= (string value)
#mysql_sql_mode = TRADITIONAL

# Timeout before idle SQL connections are reaped. (integer value)
# Deprecated group/name - [DEFAULT]/sql_idle_timeout
# Deprecated group/name - [DATABASE]/sql_idle_timeout
# Deprecated group/name - [sql]/idle_timeout
#idle_timeout = 3600

# Minimum number of SQL connections to keep open in a pool. (integer
# value)
# Deprecated group/name - [DEFAULT]/sql_min_pool_size
# Deprecated group/name - [DATABASE]/sql_min_pool_size
#min_pool_size = 1

# Maximum number of SQL connections to keep open in a pool. (integer
# value)
# Deprecated group/name - [DEFAULT]/sql_max_pool_size
# Deprecated group/name - [DATABASE]/sql_max_pool_size
#max_pool_size = <None>

# Maximum number of database connection retries during startup. Set to
# -1 to specify an infinite retry count. (integer value)
# Deprecated group/name - [DEFAULT]/sql_max_retries
# Deprecated group/name - [DATABASE]/sql_max_retries
#max_retries = 10
max_retries = -1

# Interval between retries of opening a SQL connection. (integer
# value)
# Deprecated group/name - [DEFAULT]/sql_retry_interval
# Deprecated group/name - [DATABASE]/reconnect_interval
#retry_interval = 10

# If set, use this value for max_overflow with SQLAlchemy. (integer
# value)
# Deprecated group/name - [DEFAULT]/sql_max_overflow
# Deprecated group/name - [DATABASE]/sqlalchemy_max_overflow
#max_overflow = 50

# Verbosity of SQL debugging information: 0=None, 100=Everything.
# (integer value)
# Deprecated group/name - [DEFAULT]/sql_connection_debug
#connection_debug = 0

# Add Python stack traces to SQL as comment strings. (boolean value)
# Deprecated group/name - [DEFAULT]/sql_connection_trace
#connection_trace = false

# If set, use this value for pool_timeout with SQLAlchemy. (integer
# value)
# Deprecated group/name - [DATABASE]/sqlalchemy_pool_timeout
#pool_timeout = <None>

# Enable the experimental use of database reconnect on connection
# lost. (boolean value)
#use_db_reconnect = false

# Seconds between retries of a database transaction. (integer value)
#db_retry_interval = 1

# If True, increases the interval between retries of a database
# operation up to db_max_retry_interval. (boolean value)
#db_inc_retry_interval = true

# If db_inc_retry_interval is set, the maximum seconds between retries
# of a database operation. (integer value)
#db_max_retry_interval = 10

# Maximum retries in case of connection error or deadlock error before
# error is raised. Set to -1 to specify an infinite retry count.
# (integer value)
#db_max_retries = 20


[docker]

#
# From magnum
#

# Docker remote api version. Override it according to specific docker
# api version in your environment. (string value)
#docker_remote_api_version = 1.20

# Default timeout in seconds for docker client operations. (integer
# value)
#default_timeout = 60

# If set, ignore any SSL validation issues (boolean value)
#api_insecure = false

# Location of CA certificates file for securing docker api requests
# (tlscacert). (string value)
#ca_file = <None>

# Location of TLS certificate file for securing docker api requests
# (tlscert). (string value)
#cert_file = <None>

# Location of TLS private key file for securing docker api requests
# (tlskey). (string value)
#key_file = <None>


[glance_client]

#
# From magnum
#

# Region in Identity service catalog to use for communication with the
# OpenStack service. (string value)
#region_name = <None>
region_name = {{ keystone_region_name }}

# Type of endpoint in Identity service catalog to use for
# communication with the OpenStack service. (string value)
#endpoint_type = publicURL
endpoint_type = internalURL

# Version of Glance API to use in glanceclient. (string value)
#api_version = 2


[heat_client]

#
# From magnum
#

# Region in Identity service catalog to use for communication with the
# OpenStack service. (string value)
#region_name = <None>
region_name = {{ keystone_region_name }}

# Type of endpoint in Identity service catalog to use for
# communication with the OpenStack service. (string value)
#endpoint_type = publicURL
endpoint_type = internalURL

# Optional CA cert file to use in SSL connections. (string value)
#ca_file = <None>
{% if SSLCACertificateFile != '' %}
ca_file = {{ SSLCACertificateFile }}
{% endif %}

# Optional PEM-formatted certificate chain file. (string value)
#cert_file = <None>

# Optional PEM-formatted file that contains the private key. (string
# value)
#key_file = <None>

# If set, then the server's certificate will not be verified. (boolean
# value)
#insecure = false
insecure = {{ ssl_insecure }}

# Version of Heat API to use in heatclient. (string value)
#api_version = 1


[keystone_authtoken]

auth_type = password
signing_dir = /var/lib/magnum/cache/api
auth_uri = {{ keystone_proto }}://{{ keystone_internal_address }}:5000/v3
auth_url = {{ keystone_proto }}://{{ keystone_internal_address }}:35357/v3
region_name = {{ keystone_region_name }}
user_domain_name = {{ magnum_domain_name }}
username = {{ magnum_admin_user }}
password = {{ magnum_admin_password }}
project_domain_name = {{ magnum_project_domain_name }}
project_name = {{ magnum_project_name }}
{% if SSLCACertificateFile != '' %}
cafile = {{ SSLCACertificateFile }}
{% endif %}
insecure = {{ ssl_insecure }}

admin_user = {{ magnum_admin_user }}
admin_password = {{ magnum_admin_password }}
admin_tenant_name = {{ magnum_project_name }}

memcached_servers = {% for host in groups['memcached'] %}{{ hostvars[host].ip.mgmt }}:11211{% if not loop.last %},{% endif %}{% endfor %}

token_cache_time = 300
revocation_cache_time = 60

# if your memcached server is shared, use these settings to avoid cache poisoning
memcache_security_strategy = ENCRYPT
memcache_secret_key = {{ memcache_secret_key }}

[magnum_client]

#
# From magnum
#

# Region in Identity service catalog to use for communication with the
# OpenStack service. (string value)
#region_name = <None>
region_name = {{ keystone_region_name }}

# Type of endpoint in Identity service catalog to use for
# communication with the OpenStack service. (string value)
#endpoint_type = publicURL


[matchmaker_redis]

#
# From oslo.messaging
#

# Host to locate redis. (string value)
#host = 127.0.0.1

# Use this port to connect to redis host. (port value)
# Minimum value: 0
# Maximum value: 65535
#port = 6379

# Password for Redis server (optional). (string value)
#password =

# List of Redis Sentinel hosts (fault tolerance mode) e.g.
# [host:port, host1:port ... ] (list value)
#sentinel_hosts =

# Redis replica set name. (string value)
#sentinel_group_name = oslo-messaging-zeromq

# Time in ms to wait between connection attempts. (integer value)
#wait_timeout = 500

# Time in ms to wait before the transaction is killed. (integer value)
#check_timeout = 20000

# Timeout in ms on blocking socket operations (integer value)
#socket_timeout = 1000


[neutron_client]

#
# From magnum
#

# Region in Identity service catalog to use for communication with the
# OpenStack service. (string value)
#region_name = <None>
region_name = {{ keystone_region_name }}

# Type of endpoint in Identity service catalog to use for
# communication with the OpenStack service. (string value)
#endpoint_type = publicURL
endpoint_type = internalURL


[nova_client]

#
# From magnum
#

# Region in Identity service catalog to use for communication with the
# OpenStack service. (string value)
#region_name = <None>
region_name = {{ keystone_region_name }}

# Type of endpoint in Identity service catalog to use for
# communication with the OpenStack service. (string value)
#endpoint_type = publicURL
endpoint_type = internalURL

# Version of Nova API to use in novaclient. (string value)
#api_version = 2


[oslo_concurrency]

#
# From oslo.concurrency
#

# Enables or disables inter-process locks. (boolean value)
# Deprecated group/name - [DEFAULT]/disable_process_locking
#disable_process_locking = false

# Directory to use for lock files.  For security, the specified
# directory should only be writable by the user running the processes
# that need locking. Defaults to environment variable OSLO_LOCK_PATH.
# If OSLO_LOCK_PATH is not set in the environment, use the Python
# tempfile.gettempdir function to find a suitable location. If
# external locks are used, a lock path must be set. (string value)
# Deprecated group/name - [DEFAULT]/lock_path
lock_path = /var/lock/magnum


[oslo_messaging_amqp]

#
# From oslo.messaging
#

# address prefix used when sending to a specific server (string value)
# Deprecated group/name - [amqp1]/server_request_prefix
#server_request_prefix = exclusive

# address prefix used when broadcasting to all servers (string value)
# Deprecated group/name - [amqp1]/broadcast_prefix
#broadcast_prefix = broadcast

# address prefix when sending to any server in group (string value)
# Deprecated group/name - [amqp1]/group_request_prefix
#group_request_prefix = unicast

# Name for the AMQP container (string value)
# Deprecated group/name - [amqp1]/container_name
#container_name = <None>

# Timeout for inactive connections (in seconds) (integer value)
# Deprecated group/name - [amqp1]/idle_timeout
#idle_timeout = 0

# Debug: dump AMQP frames to stdout (boolean value)
# Deprecated group/name - [amqp1]/trace
#trace = false

# CA certificate PEM file to verify server certificate (string value)
# Deprecated group/name - [amqp1]/ssl_ca_file
#ssl_ca_file =

# Identifying certificate PEM file to present to clients (string
# value)
# Deprecated group/name - [amqp1]/ssl_cert_file
#ssl_cert_file =

# Private key PEM file used to sign cert_file certificate (string
# value)
# Deprecated group/name - [amqp1]/ssl_key_file
#ssl_key_file =

# Password for decrypting ssl_key_file (if encrypted) (string value)
# Deprecated group/name - [amqp1]/ssl_key_password
#ssl_key_password = <None>

# Accept clients using either SSL or plain TCP (boolean value)
# Deprecated group/name - [amqp1]/allow_insecure_clients
#allow_insecure_clients = false

# Space separated list of acceptable SASL mechanisms (string value)
# Deprecated group/name - [amqp1]/sasl_mechanisms
#sasl_mechanisms =

# Path to directory that contains the SASL configuration (string
# value)
# Deprecated group/name - [amqp1]/sasl_config_dir
#sasl_config_dir =

# Name of configuration file (without .conf suffix) (string value)
# Deprecated group/name - [amqp1]/sasl_config_name
#sasl_config_name =

# User name for message broker authentication (string value)
# Deprecated group/name - [amqp1]/username
#username =

# Password for message broker authentication (string value)
# Deprecated group/name - [amqp1]/password
#password =


[oslo_messaging_notifications]

#
# From oslo.messaging
#

# The Drivers(s) to handle sending notifications. Possible values are
# messaging, messagingv2, routing, log, test, noop (multi valued)
# Deprecated group/name - [DEFAULT]/notification_driver
#driver =
driver = messagingv2

# A URL representing the messaging driver to use for notifications. If
# not set, we fall back to the same configuration used for RPC.
# (string value)
# Deprecated group/name - [DEFAULT]/notification_transport_url
#transport_url = <None>
transport_url = rabbit://{% for host in rabbit_hosts %}{{ magnum_rabbit_user }}:{{ magnum_rabbit_password }}@{{ hostvars[host].ip.mgmt }}:5672{% if not loop.last %},{% endif %}{% endfor %}/{{ magnum_rabbit_vhost }}

# AMQP topic used for OpenStack notifications. (list value)
# Deprecated group/name - [rpc_notifier2]/topics
# Deprecated group/name - [DEFAULT]/notification_topics
#topics = notifications


[oslo_messaging_rabbit]

rabbit_ha_queues = true


[oslo_policy]

#
# From oslo.policy
#

# The JSON file that defines policies. (string value)
# Deprecated group/name - [DEFAULT]/policy_file
#policy_file = policy.json

# Default rule. Enforced when a requested rule is not found. (string
# value)
# Deprecated group/name - [DEFAULT]/policy_default_rule
#policy_default_rule = default

# Directories where policy configuration files are stored. They can be
# relative to any directory in the search path defined by the
# config_dir option, or absolute paths. The file defined by
# policy_file must exist for these directories to be searched.
# Missing or empty directories are ignored. (multi valued)
# Deprecated group/name - [DEFAULT]/policy_dirs
#policy_dirs = policy.d


[trust]

#
# From magnum
#

# Id of the domain to create trustee for bays (string value)
#trustee_domain_id = <None>
trustee_domain_id = {{ magnum_domain_result.stdout }}

# Id of the admin with roles sufficient to manage users in the
# trustee_domain (string value)
#trustee_domain_admin_id = <None>
trustee_domain_admin_id = {{ magnum_domain_admin_result.stdout }}

# Password of trustee_domain_admin (string value)
#trustee_domain_admin_password = <None>
trustee_domain_admin_password = {{ magnum_domain_admin_password }}

# The roles which are delegated to the trustee by the trustor (list
# value)
#roles =


[x509]

#
# From magnum
#

# Certificate can get the CA flag in x509 extensions. (boolean value)
#allow_ca = false

# List of allowed x509 extensions. Available values:
# "authorityKeyIdentifier", "subjectKeyIdentifier",
# "authorityInfoAccess", "basicConstraints", "cRLDistributionPoints",
# "certificatePolicies", "extendedKeyUsage", "OCSPNoCheck",
# "inhibitAnyPolicy", "keyUsage", "nameConstraints", "subjectAltName",
# "issuerAltName" (list value)
#allowed_extensions = keyUsage,extendedKeyUsage,subjectAltName,basicConstraints,subjectKeyIdentifier

# List of allowed x509 key usage. Available values: "Digital
# Signature", "Non Repudiation", "Key Encipherment", "Data
# Encipherment", "Key Agreement", "Certificate Sign", "CRL Sign",
# "Encipher Only", "Decipher Only" (list value)
#allowed_key_usage = Digital Signature,Key Encipherment,Non Repudiation

# Number of days for which a certificate is valid. (integer value)
#term_of_validity = 1825

# Size of generated private key.  (integer value)
#rsa_key_size = 2048
